<?php
/**
 * cliente actions.
 *
 * @package    Mediatica
 * @subpackage cliente
 * @author     Your name here
 * @version    SVN: $Id: actions.class.php 23810 2009-11-12 11:07:44Z Kris.Wallsmith $
 */
class clienteActions extends sfActions
{
 /**
  * Executes index action
  *
  * @param sfRequest $request A request object
  */
  public function executeIndex(sfWebRequest $request)
  {
       
  }
  public function executeListCliente(sfWebRequest $request)
  {
       
       $servicioCliente = new clienteClass();
       
       
       $razonSocial = $request->getParameter('txtRazonSocial', "");
       $ruc         = $request->getParameter('txtRuc', "");
       $telefono    = $request->getParameter('txtTelefono', "");
       $estado      = $request->getParameter('cboEstado', "");
       
       $criteria        = $servicioCliente->listadoClientes($razonSocial, $ruc, $telefono,$estado);       
       
       $pager = new sfPropelPager('Cliente', 10);/*de cuanto en cuanto*/
       $pager->setPage($request->getParameter('page', 1));/*en paguina comienza*/
       $pager->setCriteria($criteria);
       $pager->init();
       
       $maxpag=$pager->getMaxPerPage();    
       $pagina=$request->getParameter('page',1);
        
       $this->razonSocial = $razonSocial;
       $this->ruc         = $ruc;
       $this->telefono    = $telefono;
       $this->estado      = $estado;
       
       $this->max=$maxpag;
       $this->pagina=$pagina;
       $this->pager = $pager;
  }
  
  public function executeEliminarCliente(sfWebRequest $request)
  {
       $idCliente       = $request->getParameter('idCliente');
       $servicioCliente = new clienteClass();
       $servicioCliente->deleteCliente($idCliente);
       $this->redirect('@listClient');
  }

  public function executeIngresarCliente(sfWebRequest $request)
  {
      $this->forward404Unless($request->isMethod('post'));      
      $servicioCliente = new clienteClass();
      $arrayParametros = array(
            'razonSocial' =>  $request->getParameter('razonSocial'),
            'ruc'         =>  $request->getParameter('ruc'),
            'cuenta'      =>  $request->getParameter('ckCuenta'),
            'telefono'    =>  $request->getParameter('telefono'),
            'direccion'   =>  $request->getParameter('direccion'),
            'diasPaga'    =>  $request->getParameter('diasPaga'),
            'regimenId'   =>  $request->getParameter('regimen'),
            'nombreContacto' => $request->getParameter('nombreContacto'),
            'emailContacto'  => $request->getParameter('emailContacto'),
            'telefonoContacto' => $request->getParameter('telefonoContacto'),
            'nombreContactoAux' => $request->getParameter('nombreContactoAux'),
            'emailContactoAux'  => $request->getParameter('emailContactoAux'),
            'telefonoContactoAux' => $request->getParameter('telefonoContactoAux'),
            'cuentaDetraccion' => $request->getParameter('cuentaDetraccion'),
            'observaciones'    => $request->getParameter('observaciones'),
       );       
      
      $respuesta = $servicioCliente->ingresarCliente($arrayParametros);
      if($respuesta['success'])
      {
          $this->getUser()->setFlash('sf_mensajeCliente', true);
      }
      else
      {
          $this->getUser()->setFlash('sf_mensajeCliente', $respuesta);
      }
      $this->redirect('@client');
      
  }
  
  public function executeEditarCliente(sfWebRequest $request)
  {
      $this->forward404Unless($request->isMethod('post'));      
      $servicioCliente = new clienteClass();
      $arrayParametros = array(
            'idCliente'   => $request->getParameter('idCliente'),
            'razonSocial' =>  $request->getParameter('razonSocial'),
            'ruc'         =>  $request->getParameter('ruc'),
            'cuenta'      =>  $request->getParameter('ckCuenta'),
            'telefono'    =>  $request->getParameter('telefono'),
            'direccion'   =>  $request->getParameter('direccion'),
            'diasPaga'    =>  $request->getParameter('diasPaga'),
            'regimenId'   =>  $request->getParameter('regimen'),
            'nombreContacto' => $request->getParameter('nombreContacto'),
            'emailContacto'  => $request->getParameter('emailContacto'),
            'telefonoContacto' => $request->getParameter('telefonoContacto'),
            'nombreContactoAux' => $request->getParameter('nombreContactoAux'),
            'emailContactoAux'  => $request->getParameter('emailContactoAux'),
            'telefonoContactoAux' => $request->getParameter('telefonoContactoAux'),
            'cuentaDetraccion' => $request->getParameter('cuentaDetraccion'),
            'observaciones'    => $request->getParameter('observaciones'),
            'estado'    => $request->getParameter('estado')
       );       
      
      $respuesta = $servicioCliente->editarCliente($arrayParametros);
      if($respuesta['success'])
      {
          $this->getUser()->setFlash('sf_mensajeCliente', $respuesta);
      }
       $this->getUser()->setFlash('sf_mensajeCliente', $respuesta);
      $this->redirect('@viewCliente?idCliente='.$request->getParameter('idCliente'));
      
  }
  
  
  
  public function executeViewCliente(sfWebRequest $request)
  {
        $servicioCliente = new clienteClass();
        $idCliente       = $request->getParameter('idCliente');
        $respuesta     = $servicioCliente->obtenerCliente($idCliente);
        if($respuesta['success'])
        {
            $this->clienteBean = $respuesta['objecto'];
            return sfView::SUCCESS;
        }
        return sfView::ERROR;
        
  }
  
  public function executeAgregarCuentaUsuario(sfWebRequest $request)
  {

      $nombreSession  = $request->getParameter('nombreSession',"s_dettaleCuentaUsuario");
      $servicioCliente = new clienteClass();
      $arrayParametro  = array(
                                 "nombre"=>$request->getParameter("nombreUsuario"),
                                 "correo"=>$request->getParameter("correoUsuario"),
                                 "password"=>$request->getParameter("passwordUsuario"),
                                );

      $servicioCliente->agregarCuentaUsuario($nombreSession, $arrayParametro);
      $this->nombreSession = $nombreSession;
  }





   public function executeEditarCuentaUsuario(sfWebRequest $request)
  {
      
      
      $nombreSession  = $request->getParameter('nombreSession',"s_dettaleCuentaUsuario");
      $request->setRequestFormat('json');
      $servicioCliente   = new clienteClass();
      $arrayParametro    = array(                                 
                                 "idDetalle"=>$request->getParameter("id"),                                 
                                 "nombre"=>$request->getParameter("nombreUsuario"),
                                 "correo"=>$request->getParameter("correoUsuario"),
                                 "password"=>$request->getParameter("passwordUsuario"),
                                );

      $this->respuesta   =  $servicioCliente->editarCuentaUsuario($nombreSession,$arrayParametro);
  }
  
  
  public function executeEliminarCuentaUsuario(sfWebRequest $request)
  {

      $nombreSession  = $request->getParameter('nombreSession',"s_dettaleCuentaUsuario");
      $request->setRequestFormat('json');
      $servicioCliente   = new clienteClass();
      $idDetalle         = $request->getParameter("id");      
      $this->respuesta   =  $servicioCliente->elminarCuentaUsuario($nombreSession,$idDetalle);
  }  
  
  public function executeEliminarCuentaUsuarioEditar(sfWebRequest $request)
  {
    
      $nombreSession  = $request->getParameter('nombreSession',"s_eliminarEditCuentaUsuario");
      $request->setRequestFormat('json');
      $servicioCliente   = new clienteClass();
      $idDetalle         = $request->getParameter("id");      
      $this->respuesta   =  $servicioCliente->elminarCuentaUsuarioEditar($nombreSession,$idDetalle);
  }  

  public function executeVistaReadonly(sfWebRequest $request)
  {

    $servicioCliente = new clienteClass();
        $idCliente       = $request->getParameter('idCliente');
        $respuesta     = $servicioCliente->obtenerCliente($idCliente);
        if($respuesta['success'])
        {
            $this->clienteBean = $respuesta['objecto'];
            return sfView::SUCCESS;
        }
        return sfView::ERROR;
        

  }

}
